def fib_recur(n):
    if(n == 0):
        return 0
    elif(n == 1):
        return 1
    else:
        return fib_recur(n-1) + fib_recur(n-2)


def fib_loop_while(n):
    a, b = 0, 1
    if (n == 0):
        return 0
    while n > 0:
        a, b = b, a + b
        n -= 1
    return a


def fib_loop_for(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a


def for_loop_below_100(n=10):
    result = []
    for i in range(n):
        if (fib_loop_for(i) <= 100):
            result.append(fib_loop_for(i))
        else:
            break
    return result


def while_loop_below_100(n=10):
    result = []
    for i in range(n):
        if (fib_loop_while(i) <= 100):
            result.append(fib_loop_while(i))
        else:
            break
    return result


print(for_loop_below_100(20))
print(while_loop_below_100(20))